###############################################################################
#
#IMAGE:   Gradle
#VERSION: 6.0.1
#
###############################################################################
FROM adoptopenjdk:8-jdk-hotspot

###############################################################################
#MAINTAINER
###############################################################################
MAINTAINER LiuMiao <liumiaocn@outlook.com>

###############################################################################
#ENVIRONMENT VARS
###############################################################################
ENV GRADLE_HOME /opt/gradle

###############################################################################
# Setting Gradle User & Group 
###############################################################################
RUN set -o errexit -o nounset \
    && echo "Adding gradle user and group" \
    && groupadd --system --gid 1000 gradle \
    && useradd --system --gid gradle --uid 1000 --shell /bin/bash --create-home gradle \
    && mkdir /home/gradle/.gradle \
    && chown --recursive gradle:gradle /home/gradle \
    && echo "Symlinking root Gradle cache to gradle Gradle cache" \
    && ln -s /home/gradle/.gradle /root/.gradle

###############################################################################
# install dependencies 
###############################################################################
RUN apt-get update \
    && apt-get install --yes --no-install-recommends \
        fontconfig unzip wget bzr git git-lfs mercurial openssh-client subversion \
    && rm -rf /var/lib/apt/lists/*

###############################################################################
# install gradle 
###############################################################################
ENV GRADLE_VERSION 6.0.1
ARG GRADLE_DOWNLOAD_SHA256=d364b7098b9f2e58579a3603dc0a12a1991353ac58ed339316e6762b21efba44
RUN set -o errexit -o nounset \
    && echo "Downloading Gradle" \
    && wget --no-verbose --output-document=gradle.zip "https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip" \
    && echo "Checking download hash" \
    && echo "${GRADLE_DOWNLOAD_SHA256} *gradle.zip" | sha256sum --check - \
    && echo "Installing Gradle" \
    && unzip gradle.zip \
    && rm gradle.zip \
    && mv "gradle-${GRADLE_VERSION}" "${GRADLE_HOME}/" \
    && ln --symbolic "${GRADLE_HOME}/bin/gradle" /usr/bin/gradle \
    && echo "Testing Gradle installation" \
    && gradle --version

###############################################################################
#Setting
###############################################################################
VOLUME /home/gradle/.gradle
WORKDIR /home/gradle

###############################################################################
#Entrypoint
###############################################################################
CMD ["gradle"]
